package com.sky.wsp.mybatis.plus.utils;

import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.HexUtil;
import cn.hutool.crypto.symmetric.SymmetricAlgorithm;
import cn.hutool.crypto.symmetric.SymmetricCrypto;

/**
 * @author wangshaopeng@talkweb.com.cn
 * @desccription 在此输入描述
 * @date 2023/5/25
 */
public class AESUtils {
    private static final SymmetricCrypto AES;

    static {
        //随机生成密钥
//        byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.AES.getValue()).getEncoded();
        byte[] key = HexUtil.decodeHex("f552f1b3e8a5087bd3d85787db615f09");
        //构建
        AES = new SymmetricCrypto(SymmetricAlgorithm.AES, key);
    }

    /**
     * 加密为16进制表示
     */
    public static String encrypt(String value) {
        return AES.encryptHex(value);
    }

    /**
     * 解密为字符串
     */
    public static String decrypt(String value) {
        return AES.decryptStr(value, CharsetUtil.CHARSET_UTF_8);
    }
}
